library(cowplot)
getwd()

[1] “/home/cirec/Desktop/git_workspace/RMKRDpRCT”

setwd("~/Desktop/git_workspace/RMKRDpRCT/")

# ggdraw() + draw_image(image1, width = 0.5, s)

image_list <- list.files("images/photos/", pattern = ".jpg")
image_list

[1] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA000070_119_Photos_1_2022-07-08-10-03-19.jpg” [2] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA30572_115_Photos_1_2022-07-08-09-57-17.jpg” [3] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA980581_102_Photos_1_2022-07-08-09-02-59.jpg” [4] “2022-21.GS.C4B.AYT.20.IB-rep1-TMEB419_104_Photos_1_2022-07-08-09-03-49.jpg”
[5] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS13F1160P0004_116_Photos_1_2022-07-08-09-59-45.jpg”
[6] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS14F1036P0007_109_Photos_1_2022-07-08-09-28-09.jpg”
[7] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1083P0032_120_Photos_2_2022-07-08-10-05-08.jpg”
[8] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1139P0088_107_Photos_1_2022-07-08-09-20-32.jpg”
[9] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1258P0113_114_Photos_1_2022-07-08-09-55-43.jpg”
[10] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1258P0114_105_Photos_1_2022-07-08-09-18-24.jpg”
[11] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1447P0005_117_Photos_1_2022-07-08-10-01-30.jpg”
[12] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1011P0053_112_Photos_1_2022-07-08-09-52-44.jpg”
[13] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1189P0046_113_Photos_1_2022-07-08-09-54-17.jpg”
[14] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1219P0091_111_Photos_1_2022-07-08-09-49-51.jpg”
[15] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA000070_215_Photos_1_2022-07-08-10-41-27.jpg” [16] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA30572_216_Photos_1_2022-07-08-11-06-38.jpg” [17] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA980581_210_Photos_1_2022-07-08-10-36-25.jpg” [18] “2022-21.GS.C4B.AYT.20.IB-rep2-TMEB419_204_Photos_1_2022-07-08-10-17-39.jpg”
[19] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS13F1160P0004_201_Photos_1_2022-07-08-10-06-29.jpg”
[20] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS14F1036P0007_218_Photos_1_2022-07-08-11-11-33.jpg”
[21] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1310P0145_212_Photos_1_2022-07-08-10-56-55.jpg”
[22] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1317P0102_206_Photos_1_2022-07-08-10-19-30.jpg”
[23] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1339P0033_203_Photos_1_2022-07-08-10-32-46.jpg”
[24] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1447P0005_213_Photos_1_2022-07-08-10-40-07.jpg”
[25] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1011P0053_202_Photos_1_2022-07-08-10-09-29.jpg”
[26] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1189P0046_207_Photos_1_2022-07-08-10-34-07.jpg”
[27] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1219P0091_211_Photos_1_2022-07-08-10-37-05.jpg”

class(image_list[[1]])

[1] “character”

# for(i in 1:length(image_list)){
  # img <- paste0("images/photos/",image_list[[2]])
  # p1 <- ggdraw() + draw_image(img, scale = 0.9)
  # class(p1)
  # ggplot2::ggsave(plot = p1, path = "images/plots/",filename = image[[2]])
  # p2 <- ggdraw() + draw_image(img, scale = 0.9)
  # p2
  # plot_grid(p1,p2)
# }

library(stringr)
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✔ ggplot2 3.3.6     ✔ purrr   0.3.4
## ✔ tibble  3.1.8     ✔ dplyr   1.0.9
## ✔ tidyr   1.2.0     ✔ forcats 0.5.1
## ✔ readr   2.1.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag()    masks stats::lag()
trial <- read.csv("tables/AYT20_SINDEX.csv")
# View(trial)
###attach(trial)

trial <- trial %>% select(-c("SN","X","Selected", "X.1"))

get_genotypes <- function(){
  return(trial$accession_name)
}
genotype <- as.list(get_genotypes())


image_list

[1] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA000070_119_Photos_1_2022-07-08-10-03-19.jpg” [2] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA30572_115_Photos_1_2022-07-08-09-57-17.jpg” [3] “2022-21.GS.C4B.AYT.20.IB-rep1-IITA-TMS-IBA980581_102_Photos_1_2022-07-08-09-02-59.jpg” [4] “2022-21.GS.C4B.AYT.20.IB-rep1-TMEB419_104_Photos_1_2022-07-08-09-03-49.jpg”
[5] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS13F1160P0004_116_Photos_1_2022-07-08-09-59-45.jpg”
[6] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS14F1036P0007_109_Photos_1_2022-07-08-09-28-09.jpg”
[7] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1083P0032_120_Photos_2_2022-07-08-10-05-08.jpg”
[8] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1139P0088_107_Photos_1_2022-07-08-09-20-32.jpg”
[9] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1258P0113_114_Photos_1_2022-07-08-09-55-43.jpg”
[10] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1258P0114_105_Photos_1_2022-07-08-09-18-24.jpg”
[11] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS18F1447P0005_117_Photos_1_2022-07-08-10-01-30.jpg”
[12] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1011P0053_112_Photos_1_2022-07-08-09-52-44.jpg”
[13] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1189P0046_113_Photos_1_2022-07-08-09-54-17.jpg”
[14] “2022-21.GS.C4B.AYT.20.IB-rep1-TMS19F1219P0091_111_Photos_1_2022-07-08-09-49-51.jpg”
[15] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA000070_215_Photos_1_2022-07-08-10-41-27.jpg” [16] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA30572_216_Photos_1_2022-07-08-11-06-38.jpg” [17] “2022-21.GS.C4B.AYT.20.IB-rep2-IITA-TMS-IBA980581_210_Photos_1_2022-07-08-10-36-25.jpg” [18] “2022-21.GS.C4B.AYT.20.IB-rep2-TMEB419_204_Photos_1_2022-07-08-10-17-39.jpg”
[19] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS13F1160P0004_201_Photos_1_2022-07-08-10-06-29.jpg”
[20] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS14F1036P0007_218_Photos_1_2022-07-08-11-11-33.jpg”
[21] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1310P0145_212_Photos_1_2022-07-08-10-56-55.jpg”
[22] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1317P0102_206_Photos_1_2022-07-08-10-19-30.jpg”
[23] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1339P0033_203_Photos_1_2022-07-08-10-32-46.jpg”
[24] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS18F1447P0005_213_Photos_1_2022-07-08-10-40-07.jpg”
[25] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1011P0053_202_Photos_1_2022-07-08-10-09-29.jpg”
[26] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1189P0046_207_Photos_1_2022-07-08-10-34-07.jpg”
[27] “2022-21.GS.C4B.AYT.20.IB-rep2-TMS19F1219P0091_211_Photos_1_2022-07-08-10-37-05.jpg”

get_images <- function(genotype, pattern){
list_gen <- c()
  for(i in 1:length(image_list)){
    if(stringr::str_detect(image_list[[i]], regex(genotype)) == TRUE){
      if(stringr::str_detect(image_list[[i]], regex(pattern)) == TRUE){
        list_gen[[length(list_gen) + 1]] <- image_list[[i]]
      }
    }
  }
  return(list_gen)
}

table_chunk <- function(gene){
  df <- trial %>% filter(accession_name == gene)
  FYLD <- df$FYLD
  DYLD <- df$DYLD
  DM <- df$DM
  SI <- df$SINDEX
  new_df <- data.frame(Trait = c("FYLD", "DYLD", "DM", "SINDEX"), 
                       Value = c(FYLD, DYLD, DM, SI))
  return(new_df)
}

library(knitr)

class(genotype)

[1] “list”

lapply(1:length(genotype), function(i){
  
  rep1 <- get_images(genotype = genotype[[i]], "rep1")
  rep2 <- get_images(genotype = genotype[[i]], "rep2")
  
  if(!is.null(rep1) || !is.null(rep2)){
    reps <- append(rep1, rep2)
    img <- c()
    for(j in 1:length(reps)){
      path_ <- paste0("images/photos/",reps[[j]])  
      img[[length(img) + 1]] <- path_
    }
    
    length(img)
    
    print(genotype[[i]])
    print(kable(table_chunk(genotype[[i]])))
    p1 <- ggdraw() + draw_image(img[[1]], scale = 0.9)
    if(length(img) > 1){
      p2 <- ggdraw() + draw_image(img[[2]], scale = 0.9)
      px <- plot_grid(p1,p2)
      x <- ggsave("per.jpg", px)
      cat("![](",x,")")
    } else if(length(img) == 1){
      p3 <- plot_grid(p1)
      py <- ggsave("jer.jpg", p3)
      cat("![](",py,")")
    }
  }
})

[1] “IITA-TMS-IBA000070”

Trait Value
FYLD 37.87
DYLD 14.99
DM 40.89
SINDEX 106.80
## Saving 7 x 5 in image

[1] “TMS18F1083P0032”

Trait Value
FYLD 36.60
DYLD 14.88
DM 42.08
SINDEX 98.45
## Saving 7 x 5 in image

[1] “TMS19F1219P0091”

Trait Value
FYLD 38.33
DYLD 14.44
DM 37.81
SINDEX 91.42
## Saving 7 x 5 in image

[1] “TMS18F1139P0088”

Trait Value
FYLD 38.15
DYLD 14.77
DM 39.59
SINDEX 88.29
## Saving 7 x 5 in image

[1] “TMS18F1317P0102”

Trait Value
FYLD 36.48
DYLD 14.61
DM 40.84
SINDEX 57.63
## Saving 7 x 5 in image

[1] “TMS19F1189P0046”

Trait Value
FYLD 37.78
DYLD 14.24
DM 37.39
SINDEX 55.38
## Saving 7 x 5 in image

[1] “TMS18F1258P0113”

Trait Value
FYLD 36.74
DYLD 14.44
DM 39.71
SINDEX 35.78
## Saving 7 x 5 in image

[1] “TMS18F1447P0005”

Trait Value
FYLD 36.21
DYLD 14.46
DM 40.38
SINDEX 28.63
## Saving 7 x 5 in image

[1] “TMS18F1339P0033”

Trait Value
FYLD 36.53
DYLD 14.34
DM 39.42
SINDEX 26.03
## Saving 7 x 5 in image

[1] “TMS19F1011P0053”

Trait Value
FYLD 34.62
DYLD 14.38
DM 42.22
SINDEX 15.39
## Saving 7 x 5 in image

[1] “TMEB419”

Trait Value
FYLD 35.27
DYLD 14.26
DM 40.58
SINDEX -3.40
## Saving 7 x 5 in image

[1] “TMS18F1258P0114”

Trait Value
FYLD 35.30
DYLD 14.02
DM 39.34
SINDEX -20.63
## Saving 7 x 5 in image

[1] “TMS13F1160P0004”

Trait Value
FYLD 34.29
DYLD 14.05
DM 40.86
SINDEX -32.66
## Saving 7 x 5 in image

[1] “TMS14F1036P0007”

Trait Value
FYLD 34.72
DYLD 14.00
DM 39.62
SINDEX -44.70
## Saving 7 x 5 in image

[1] “IITA-TMS-IBA30572”

Trait Value
FYLD 33.36
DYLD 13.81
DM 40.61
SINDEX -55.43
## Saving 7 x 5 in image

[1] “TMS18F1310P0145”

Trait Value
FYLD 32.94
DYLD 13.73
DM 41.00
SINDEX -55.87
## Saving 7 x 5 in image

[1] “IITA-TMS-IBA980581”

Trait Value
FYLD 33.74
DYLD 13.56
DM 38.80
SINDEX -93.27
## Saving 7 x 5 in image

[[1]] NULL

[[2]] NULL

[[3]] NULL

[[4]] NULL

[[5]] NULL

[[6]] NULL

[[7]] NULL

[[8]] NULL

[[9]] NULL

[[10]] NULL

[[11]] NULL

[[12]] NULL

[[13]] NULL

[[14]] NULL

[[15]] NULL

[[16]] NULL

[[17]] NULL

[[18]] NULL

[[19]] NULL

[[20]] NULL